Adding more nifty eslint rules for more consistent JSX/TSX #2383
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Will probably wait with this one in draft until the bigger and more important PRs get in, so that we avoid merge conflicts where possible.
The rules I'm suggesting:
react/jsx-curly-brace-presence
, configured to avoid using curly braces when passing constants/plain strings to react components.<Lang id={'my.lang.key'} />
<-- Before<Lang id='my.lang.key' />
<-- Afterreact/jsx-fragments
will enforce using<></>
as fragments instead of<React.Fragment></React.Fragment>
whenever possible<React.Fragment><Something /><Other /></React.Fragment>
<-- Before<><Something /><Other /></>
<-- Afterreact/jsx-no-useless-fragment
will give us an error when a fragment is useless/not needed. This sadly does not auto-fix things for us.. 😢return <>{children}</>;
<-- Beforereturn children;
<-- Afterreact/self-closing-comp
will auto-close components without children<MyComponent></MyComponent>
<-- Before<MyComponent />
<-- AfterRelated Issue(s)
Verification/QA
kind/*
label to this PR for proper release notes grouping